// 测试修复后的noteService
const { noteService } = require('./noteService.js');

// 模拟后端响应数据结构
const mockResponse = {
  total: 10,
  rows: [
    {
      id: 1,
      questionId: '123',
      content: '这是一条测试笔记内容',
      createTime: '2025-08-13 09:09:31',
      updateTime: '2025-08-20 09:41:03',
      questionTitle: '测试题目',
      questionContent: '测试题目内容'
    },
    {
      id: 2,
      questionId: '456',
      content: '这是另一条测试笔记内容',
      createTime: '2025-08-15 20:39:52',
      updateTime: '2025-08-18 16:20:10',
      questionTitle: '测试题目2',
      questionContent: '测试题目内容2'
    }
  ],
  code: 200,
  msg: '查询成功'
};

// 测试数据处理逻辑
function testDataProcessing() {
  console.log('=== 测试数据处理逻辑 ===');
  console.log('模拟响应数据:', mockResponse);
  
  // 模拟noteService的数据处理逻辑
  let notesData = [];
  
  if (mockResponse && mockResponse.code === 200) {
    if (mockResponse.rows && Array.isArray(mockResponse.rows)) {
      notesData = mockResponse.rows;
    } else if (mockResponse.data && Array.isArray(mockResponse.data)) {
      notesData = mockResponse.data;
    } else if (Array.isArray(mockResponse)) {
      notesData = mockResponse;
    }
  }
  
  console.log('解析后的笔记数据:', notesData);
  console.log('笔记数量:', notesData.length);
  
  if (notesData.length > 0) {
    const processedNotes = notesData.map(note => ({
      id: note.id,
      questionId: note.questionId || note.question_id,
      content: note.content || '',
      createTime: note.createTime || note.create_time || '',
      updateTime: note.updateTime || note.update_time || '',
      questionTitle: note.questionTitle || note.question_title || '',
      questionContent: note.questionContent || note.question_content || ''
    }));
    
    console.log('处理后的笔记数据:', processedNotes);
  }
}

// 测试获取笔记列表（修复URLSearchParams问题后）
async function testGetNoteList() {
  console.log('=== 测试获取笔记列表 ===');
  
  try {
    console.log('开始测试基本获取...');
    // 测试基本获取
    const notes = await noteService.getNoteList({
      page: 1,
      size: 10
    });
    console.log('基本获取结果:', notes);
    console.log('笔记数量:', notes.length);
    
    if (notes.length > 0) {
      console.log('第一条笔记详情:', notes[0]);
    }
    
  } catch (error) {
    console.error('测试失败:', error);
    console.error('错误详情:', error.message);
    console.error('错误堆栈:', error.stack);
  }
}

// 运行测试
console.log('开始测试noteService...');
console.log('当前时间:', new Date().toLocaleString());

// 先测试数据处理逻辑
testDataProcessing();

// 再测试实际接口调用
testGetNoteList();
